package Utils;

import java.awt.Component;
import javax.swing.JDialog;
import javax.swing.JOptionPane;

/*
 * @author Sandro Alves Peres
 * @version final
 * @since 2011-03-11
 * @email sandrinhodobanjo@yahoo.com.br
 * @amended by Kermes Salustiano
 */
public class Msg {

    //Mensagens padrão de erro!
    public static void erroTabela(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO ATUALIZAR A TABELA\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroInserir(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO SALVAR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroExcluir(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO EXCLUIR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroAlterar(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO ALTERAR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroRelatorio(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO NO RELATORIO\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroPadrao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "O SISTEMA ENCONTROU UM ERRO EM SUA EXECUÇÃO\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroUso(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "NÃO É POSSÍVEL EXECUTAR ESSA OPERAÇÃO\n"
                + str.toString().toUpperCase(), "ATENÇÃO", JOptionPane.ERROR_MESSAGE);
    }

    //Mensagens para o JLabel da Pesquisa
    public static String pesquisaSemResultado() {
        String Msg = "Nenhum resultado encontrado";
        return Msg;
    }

    public static String pesquisaComResultado(int i) {
        String Msg = i + " resultado(s) encontrado(s)";
        return Msg;
    }

    public static String caracterInsulficiente() {
        String Msg = "Informe ao menos 3 caracteres";
        return Msg;
    }

    //Mensagens de Alerta!
    public static void alertaUso_selecioneRegistro() {
        String str = "selecione um registro";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_CpfJaCadastrado() {
        String str = "Cpf Ja esta cadastrado";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_ContatoJaCadastrado() {
        String str = "Contato Ja esta cadastrado";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_gradeCurricularSemDisciplinaNoCurso() {
        String str = "Não existe disciplinas vinculado ao CUrso";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_moduloInalteravel() {
        String str = "módulo RELATÓRIO NÃO PODE SER ALTERADO";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_registroInalteravel() {
        String str = "Registro NÃO PODE SER ALTERADO";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_excluaADisciplinas() {
        String str = "Exclua Primeiro as Disciplinas";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_serieSemGradeCurricular() {
        String str = "Serie não possui grade curricular\nSelecione uma Série que possua ou cancele a operação";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_registroNaoPodeExcluir() {
        String str = "para o bom funcionamento do sistema esse registro não pode ser excluido";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_excluirModulo() {
        String str = "é necessário excluir primeiro os seus itens";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneColunaData() {
        String str = "selecione uma coluna de Data";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneColunaNotas() {
        String str = "selecione a coluna de Notas";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_pautaSemAluno() {
        String str = "Pauta não possui alunos!\nEfetue a Matricula dos alunos na turma";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_matriculaBoletim() {
        String str = "para matricular um aluno na turma é necessario remover os lançamentos ja realizados nas pautas desta turma";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_matriculaLancamento() {
        String str = "para matricular um aluno na turma é necessario remover as notas do boletim ja lançados nas pautas desta turma";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_matriculaTurmaSemDisciplina() {
        String str = "A Turma não possui Disciplina vinculada";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneCliente() {
        String str = "Selecione o Cliente";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_selecioneInstuicao() {
        String str = "Selecione a Instituição";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneTipo() {
        String str = "Selecione o Tipo";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_aulaDataLimiteAtingido() {
        String str = "O LIMITE DE 49 AULAS DATAS PARA ESSA PAUTA FOI ATINGIDO!";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_observacaoLimiteAtingido() {
        String str = "LIMITE DE OBSERVAÇÃO POR PAUTA FOI ATINGIDO!\nMAXIMO DE UMA OBSERVAÇÃO POR PAUTA";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaValidacao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ALERTA DE VÁLIDAÇÃO:\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    //Mensagen de Informação
    public static void informacao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, str.toString().toUpperCase(), "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void informacaoPauta() {
        JOptionPane.showMessageDialog(null, "SOMENTE VISUALIZAÇÃO\nSTATUS DA PAUTA ESTA FINALIZADA", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroSalvo(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO SALVO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroAlterado(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO ALTERADO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroExcluido(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO EXCLUÍDO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void pautaFinalizada() {
        JOptionPane.showMessageDialog(null, "PAUTA FINALIZADA COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    //Mensagem de confirmação
    public static boolean confirmar(Component frame, Object str) {
        Object[] options = {"SIM", "NÃO"};
        int option = JOptionPane.showOptionDialog(frame, "DESEJA REALMENTE " + str.toString().toUpperCase().replaceAll("!?,.", "") + "?", "CONFIRMAR", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);

        if (option == JOptionPane.YES_OPTION) {
            return true;
        } else {
            return false;
        }
    }
    //Mensagem de confirmação

    public static boolean finalizarPauta() {
        Object[] options = {"SIM", "NÃO"};
        int option = JOptionPane.showOptionDialog(null, "DESEJA REALMENTE FINALIZAR A PAUTA?\nOBS:. APÓS SER FINALIZADA NÃO PODERÁ SER EFETUA ALTERAÇÕES!",
                "CONFIRMAR", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);

        if (option == JOptionPane.YES_OPTION) {
            return true;
        } else {
            return false;
        }
    }

    //Mensagens de desenvolvedores
    public static String desenvolvedores() {
        String msg = "EQUIPE DE DESENVOLVIMENTO:\n"
                + "- WILLIAM DE MOURA BUENO VIDAL\n\n"
                + "© Copyright 2012 "
                + "\nGEPROAD - todos os direitos reservados";
        JOptionPane.showMessageDialog(null, msg.toString().toUpperCase(), "- FEATI", JOptionPane.INFORMATION_MESSAGE);
        return msg;
    }
       
}
